package ${(introspectedTable.tableConfiguration.properties.fileDirectoryConvertBiz)?substring(((introspectedTable.tableConfiguration.properties.fileDirectoryConvertBiz)?index_of("/src/main/java/")+15))?replace("/",".")};

import com.broker.framework.common.pojo.PageResult;
import ${(introspectedTable.tableConfiguration.properties.fileDirectoryDTO)?substring(((introspectedTable.tableConfiguration.properties.fileDirectoryDTO)?index_of("/src/main/java/")+15))?replace("/",".")}.${className}DTO;
import ${(introspectedTable.tableConfiguration.properties.fileDirectoryDO)?substring(((introspectedTable.tableConfiguration.properties.fileDirectoryDO)?index_of("/src/main/java/")+15))?replace("/",".")}.${className}DO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * ---------------------------
 *
 * @Description: ${className}Convert
 * ---------------------------
 * @author: ${introspectedTable.tableConfiguration.properties.auther!}
 * @date: ${introspectedTable.tableConfiguration.properties.createTime!}
 * @version: v1.0
 * ---------------------------
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface ${className}Convert {

    ${className}Convert INSTANCE = Mappers.getMapper(${className}Convert.class);


    /***
     * ---------------------------
     * @Description: DO ==> DTO
     * ---------------------------
     * @param d d
     * @return DTO
     * ---------------------------
     * @author: ${introspectedTable.tableConfiguration.properties.auther!}
     * @date: ${introspectedTable.tableConfiguration.properties.createTime!}
     * @version: v1.0
     * ---------------------------
     */
    ${className}DTO convertToDTO(${className}DO d);

    /***
     * ---------------------------
     * @Description: List<DO> ==> List<DTO>
     * ---------------------------
     * @param d d
     * @return List<DTO>
     * ---------------------------
     * @author: ${introspectedTable.tableConfiguration.properties.auther!}
     * @date: ${introspectedTable.tableConfiguration.properties.createTime!}
     * @version: v1.0
     * ---------------------------
     */
    List<${className}DTO> convertToDTOList(List<${className}DO> d);

    /***
     * ---------------------------
     * @Description: PageResult<DO> ==> PageResult<DTO>
     * ---------------------------
     * @param dPage dPage
     * @return PageResult<DTO>
     * ---------------------------
     * @author: ${introspectedTable.tableConfiguration.properties.auther!}
     * @date: ${introspectedTable.tableConfiguration.properties.createTime!}
     * @version: v1.0
     * ---------------------------
     */
    PageResult<${className}DTO> convertToDTOPage(PageResult<${className}DO> dPage);

    /***
     * ---------------------------
     * @Description: DTO ==> DO
     * ---------------------------
     * @param DTO DTO
     * @return DO
     * ---------------------------
     * @author: ${introspectedTable.tableConfiguration.properties.auther!}
     * @date: ${introspectedTable.tableConfiguration.properties.createTime!}
     * @version: v1.0
     * ---------------------------
     */
    ${className}DO convertToDO(${className}DTO DTO);

    /***
     * ---------------------------
     * @Description: List<DTO> ==> List<DO>
     * ---------------------------
     * @param DTO DTO
     * @return List<DO>
     * ---------------------------
     * @author: ${introspectedTable.tableConfiguration.properties.auther!}
     * @date: ${introspectedTable.tableConfiguration.properties.createTime!}
     * @version: v1.0
     * ---------------------------
     */
    List<${className}DO> convertToDOList(List<${className}DTO> DTO);


}
